import Layout from "@/layout";
export default file => {
  return map[file] || null;
};
// 引入懒加载组件的函数
const map = {
  Layout: Layout, // 第一级路由
  userList: () => import("@/views/users/userList").then(m => m.default), // 第二级路由（不用于展示子页面）
  permissions: () => import("@/views/users/permissions").then(m => m.default),
  videos: () => import("@/views/material/videos/videos").then(m => m.default),
  pictures: () => import("@/views/material/pictures/index").then(m => m.default), // 第二级路由（用于展示子页面）
  icons: () => import("@/views/material/pictures/icons").then(m => m.default), // 第三级路由
  fonts: () => import("@/views/material/pictures/fonts").then(m => m.default),
};

/**
 * 有第三级路由的时候，
 * 第二级路由的页面也需要创建加载页面（填坑）
 * 但是第二级路由是不显示页面的，
 * 所以第二级路由的页面只是用于展示它的子页面，
 *
 * 第二级路由的页面写法如下
 * <template>
 *    <router-view />
 * </template>
 *
 * 假如有第三层第四层也诸如此类，无限套娃
 */

/**
 * 由于作为父级的路由不显示页面，
 * 所以系统的面包屑点击重定向（可能）会变成空白页面
 * 貌似不给面包屑可以点击重定向会更好
 * 所以数控库的路由表中的每个父级页面（嵌套的父级页面也要）的 redirect 需要填"1"
 * 前端过滤时过滤成 noredirect （过滤方法见utils/menus.js）
 * 关闭面包屑重定向
 */

/**
 * 动态添加路由步骤
 *
 * 前端：
 * 1.views文件夹添加页面文件
 * 2.router文件夹下_import.js，添加对应页面懒加载方法
 * 3.lang文件夹添加对应文件名（如果有国际化语音）
 *
 * 后端：
 * 1.数据库添加对应页面文件的路由格式参数
 * 2.后端递归出路由格式给前端递归过滤
 * 3.每个父级页面（嵌套的父级页面也要）的 redirect 需要填"1"
 */
